Imports System.Data.SqlClient
Imports System.Data
Imports System.IO
'Imports Microsoft.Office.Interop
'Imports Microsoft.Office.Interop.Excel
Imports Word
Imports Excel

Public Class Bedrijven

    Public objdataset As New DataSet

    Private mobjBindingsource As New BindingSource

    Public Sub DataGridViewVerversen()
        Dim strconnectionString As String = My.Settings.Docregdata2ConnectionString

        Dim strSql As String = "SELECT bedrijven.BedrijvenID, Bedrijfsnaam, Plaats, Adres, [Postcode 1], Postbus, [Postcode 2], Telefoon, Fax from Bedrijven inner join Bedrijven_werken on bedrijven.bedrijvenid = Bedrijven_werken.bedrijvenid where bedrijven_werken.werknummer= " & "'" & My.Forms.FrmInlogscherm.CmbWerknummer.SelectedValue & "' " & "ORDER BY Bedrijfsnaam"
        strSql.ToString()

        objdataset.Clear()
        Dim objdataAdapter As New SqlDataAdapter(strSql, strconnectionString)

        objdataAdapter.Fill(objdataset, "Bedrijventabel")

        'koppel data aan Datagridview
        mobjBindingsource.DataSource = objdataset.Tables("Bedrijventabel")
        DgrBedrijven.DataSource = mobjBindingsource
        DgrBedrijven.Columns("BedrijvenID").Visible = False

    End Sub

    Private Sub Bedrijven_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load

        DataGridViewVerversen()

    End Sub

    Private Sub BtnEerste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEerste.Click
        mobjBindingsource.MoveFirst()

    End Sub

    Private Sub Btnvorige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnvorige.Click
        mobjBindingsource.MovePrevious()

    End Sub

    Private Sub BtnVolgende_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVolgende.Click
        mobjBindingsource.MoveNext()

    End Sub

    Private Sub BtnLaatste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLaatste.Click
        mobjBindingsource.MoveLast()

    End Sub

    Private Sub BtnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNieuw.Click

        FrmBedrijf.SchermTonen(0)

        If FrmBedrijf.DialogResult = System.Windows.Forms.DialogResult.OK Then
            DataGridViewVerversen()
        End If

    End Sub

    Private Sub BtnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If Not IsNothing(DgrBedrijven.CurrentRow) Then
            FrmBedrijf.SchermTonen(DgrBedrijven.CurrentRow.Cells("BedrijvenID").Value)

            If FrmBedrijf.DialogResult = System.Windows.Forms.DialogResult.OK Then
                DataGridViewVerversen()

            End If
        End If
    End Sub

    Private Sub Bedrijfverwijderen()

        Dim objcommand As New SqlCommand()
        Dim intBedrijvenID As Integer
        Dim strBoodschap As String

        If Not IsNothing(DgrBedrijven.CurrentRow) Then
            intBedrijvenID = DgrBedrijven.CurrentRow.Cells("BedrijvenID").Value
            strBoodschap = "Weet U zeker dat u deze klant " & "wilt verwijderen?"

            With objcommand
                .Connection = New SqlConnection(My.Settings.Docregdata2ConnectionString)
                .CommandText = "DELETE FROM Bedrijven_Werken " & "Where BedrijvenID= " & intBedrijvenID
                .Connection.Open()
                .ExecuteNonQuery()
            End With

            objdataset.Clear()
            DataGridViewVerversen()

            'Zorgen dat bedrijf ook verwijderd is in combobox van verzendbrieven
            'My.Forms.FrmVerzendbrief.objdataset.Clear()
            'My.Forms.FrmVerzendbrief.Inladen_Bedrijven_werken()

        End If
    End Sub

    Private Sub BtnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVerwijderen.Click

        Bedrijfverwijderen()

    End Sub


    Private Sub BtnContacten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnContacten.Click
        Me.Visible = False
        My.Forms.FrmContacten.Show()

    End Sub

    Private Sub BtnHoofdmenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHoofdmenu.Click
        Me.Visible = False
        My.Forms.FrmHoofdmenu.Visible = True

    End Sub

    Private Sub BtnZoek_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnZoek.Click

        Dim bedr As String = Me.TxtZoek.Text

        Dim dvBedrijven As New DataView
        dvBedrijven.Table = objdataset.Tables(0)

        DgrBedrijven.AutoGenerateColumns = True
        DgrBedrijven.DataSource = dvBedrijven
        dvBedrijven.RowFilter = "Bedrijfsnaam LIKE '%" & bedr & "%'"


    End Sub

    Private Sub BtnPrintBedrijven_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrintBedrijven.Click

        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value
        Dim i As Integer
        Dim j As Integer

        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add()
        xlWorkSheet = xlWorkBook.Sheets("Blad1")

        'Invoegen van Werknummer en omschrijving
        xlWorkSheet.Range("A1:H1").Font.Bold = True
        xlWorkSheet.Range("A1").Value = "Bedrijfsnaam"
        xlWorkSheet.Range("B1").Value = "Plaats"
        xlWorkSheet.Range("C1").Value = "Adres"
        xlWorkSheet.Range("D1").Value = "Postcode1"
        xlWorkSheet.Range("E1").Value = "Postbus"
        xlWorkSheet.Range("F1").Value = "Postcode2"
        xlWorkSheet.Range("G1").Value = "Telefoon"
        xlWorkSheet.Range("H1").Value = "Fax"

        'Invoegen van tekeningen in excel
        'Als bedrijfsnaam voor hetzelfde is als voorgaande dan bedrijfsnaam weglaten
        For i = 0 To DgrBedrijven.RowCount - 2
            For j = 0 To DgrBedrijven.ColumnCount - 1
                xlWorkSheet.Cells(i + 2, j + 1) = _
                    DgrBedrijven(j, i).Value.ToString()
            Next
        Next

        'autosize used columns
        xlWorkSheet.UsedRange.Columns.AutoFit()

        Dim datum As String = My.Computer.Clock.LocalTime.Date
        Dim tijd As String = My.Computer.Clock.LocalTime.Hour & " " & My.Computer.Clock.LocalTime.Minute
        Dim Directory As String = My.Forms.FrmInlogscherm.txtProjectdir.Text & "\Bedrijvenlijst\"
        Dim Naam As String = "Bedrijvenlijst" & " " & datum & " " & tijd & ".xls"

        If System.IO.Directory.Exists(Directory) Then
            xlWorkSheet.SaveAs(Directory & Naam) ', FileFormat:=56) '=excel 97-2003
        Else
            System.IO.Directory.CreateDirectory(Directory)
            xlWorkSheet.SaveAs(Directory & Naam) ', FileFormat:=56) '=excel 97-2003
        End If

        xlApp.Visible = True
        xlWorkSheet.Activate()

    End Sub

End Class
